home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / PRGMMING / CNVLIBD.ZIP / ZIPGRP.BAT < prev   
Encoding:
DOS Batch File  |  1994-03-10  |  3.4 KB  |  109 lines

  1. @echo off
  2. REM ZIPGRP.BAT Backup critical NDW files in case of General Protection Fault in
  3. REM USER.EXE error message. This file is very specific create for a Nombas
  4. REM customer
  5.  
  6.  
  7. CEnvi %0.bat
  8. GOTO CENVI_EXIT
  9.  
  10. #include <Screen.lib>
  11.  
  12. Start:
  13. ScreenClear();
  14.       
  15.    DrawEmptyMessageWindow(TRUE);
  16.       
  17. ScrWrite("RUN THIS FILE ANY TIME YOU HAVE MADE CHANGES TO YOUR NORTON DESKTOP",
  18.          1,4,YELLOW,BLUE);
  19.  
  20. SetAttribute(WHITE,BLUE);
  21. ScrWrite("Reduce the time to get NDW  up and  running again  after receiving",10,5);
  22. ScrWrite("the error Message  \"NDW Caused GPF in module USER.EXE\".",11,5);
  23. ScrWrite("Up to 3  compressed files will be copied to your b: drive; groups,",13,5);
  24. ScrWrite("groups1 and groups2 (groups.zip will be the most recent copy).",14,5);
  25. ScrWrite("If you get the GPF error, begin unzipping these files in your NDW",16,5);
  26. ScrWrite("directory until Windows loads properly.",17,5);
  27.  
  28. ScrWrite("Do You Want To Run This Program Now (Y/N)",21,16,YELLOW,BLUE);
  29. SetCursor(21,60);
  30.  
  31. while ( !strchr("YN",Answer=toupper(getch())) )
  32.    putchar('\a');  // beep for invalid answer
  33. putchar(Answer);
  34. if ( 'Y' == Answer ) {
  35.  
  36.  
  37.    system("c:"), system("cd \\ndw");
  38.    TextBox(23,15,23,61,BLUE,BLUE);
  39.    ScrWrite("Insert a Diskette In Drive B",4,23,WHITE,BLUE);
  40.    ScrWrite("Press Any Key When Ready",5,25,WHITE,BLUE);
  41.    getch();
  42.  
  43.    if ( FloppyInserted('B') )
  44.       Zipadeedoodah();
  45.    else {
  46.       ErrorMessage();
  47.       goto Start;
  48.    }
  49. }
  50.  
  51. Zipadeedoodah()   // routine to do the zipping work
  52. {
  53.    DrawEmptyMessageWindow();
  54.    ScrWrite("Compressing NDW QAG, DAT and BIN Files",4,18,LIGHTRED,BLUE);
  55.    system("pkzip -a groups.zip @ndw.grp > nul");
  56.    DrawEmptyMessageWindow();
  57.  
  58.    // check for previously zipped files and rename them 2 levels deep
  59.    system("b:");
  60.    // similar to other scrput statements except that the Text is blinking
  61.    ScrWrite("Shuffling Files on Drive B",4,24,WHITE,BLUE|BLINK);
  62.    system("if exist groups1.zip move groups1.zip groups2.zip > nul");
  63.    system("if exist groups.zip  move groups.zip  groups1.zip > nul");
  64.  
  65.    system("c:"), system("cd \\ndw");
  66.    DrawEmptyMessageWindow();
  67.    ScrWrite("Moving Zipped File to Drive B",4,24,WHITE,BLUE);
  68.    system("mv groups.zip b: > nul");
  69.    DrawEmptyMessageWindow();
  70. }
  71.  
  72. ErrorMessage() // called to display error
  73. {
  74.    DrawEmptyMessageWindow();
  75.    ScrWrite("Drive B Not Ready",4,28);
  76.    ScrWrite("Press any key to continue",5,25);
  77.    getch();
  78. }
  79.  
  80. FloppyInserted(DriveLetter)   // code taken from FLOPPYIN.BAT off of the
  81. {                             // NOMBAS BBS. True if inserted, else False
  82.    BLObSize(buf,5000)// prepare a big buffer
  83.    for ( i = 0; i < 3; i++ ) {
  84.       reg.ah = 2           // code for reading sectors
  85.       reg.al = 1           // read one sector
  86.       reg.ch = 0           // track number
  87.       reg.cl = 1           // sector number
  88.       reg.dh = 0           // disk side (0 or 1)
  89.       reg.dl = toupper(DriveLetter) - 'A'
  90.       reg.es = segment(buf) // es:bx point to buffer
  91.       reg.bx = offset(buf)
  92.       if ( interrupt(0x13,reg,outreg) )
  93.          return(True); // floppy read OK (carry flag not set)
  94.    }
  95.    return(False);
  96. }
  97.  
  98. DrawEmptyMessageWindow(IncludeBorder)  // repeat this frequent call
  99. {
  100.    if ( va_arg()  &&  IncludeBorder )
  101.       TextBox(3,10,6,62,WHITE,BLUE,DOUBLE_LINE|SHADOW);
  102.    else
  103.       TextBox(4,11,5,61,WHITE,BLUE);
  104. }
  105.  
  106. :CENVI_EXIT
  107. cd \
  108. cls
  109.